Machine learning (ML) systems are used in a wide variety of applications, for example, spam detection, recommendation systems, search engines and computer vision. ML algorithms aim at creating models to train and/or fit large amounts of data and then use the trained models to generate accurate predictions. Training such models can involve training a large number of parameters which may require a significant amount of computational resources.